/********************************************************************
* Name: X86AsmBlock.h: 
*
* Description:
*   Pseudo x86 asm code block.
*
* History:
*   Create: gxf. 2009-03-28
*
********************************************************************/
#ifndef X86_ASM_BLOCK
#define X86_ASM_BLOCK

#include "arch/x86/X86Code.h"

namespace crossbit{

namespace x86code{

class X86AsmBlock{
    public:
        X86AsmBlock():_head(NULL), _length(0){}
        ~X86AsmBlock(){}

    public:
        std::list<X86Code*>     _insts;      // LinkList of X86Insts
        XTUint32                _length;    // total inst;

    public:
        typedef std::list<X86Code*>::iterator iterator;
        inline const iterator & head(){
            return _insts.begin();
        }
        inline const iterator & end(){
            return _insts.end();
        }
}; // class X86AsmBlock

} // namespace x86code

} // namespace crossbit

#endif

